# str
# 1、首字母大写
# name = 'alex'
# name1 = name.capitalize()
# print(name1)

# 2、每个单词首字母大写(每个单词之间的分隔符只要不是字母都可以)
# name = 'hello1alex'
# print(name.title())

# 3、大小写反转
# name = 'Alex'
# print(name.swapcase())

# 4、居中--填充(两个参数，宽度，填充物（可选）)
# name = 'alex'
# print(name.center(20, '_'))

# 5、查找 从右向左 只查一个
name = 'alex'
print(name.find('a'))   # 查找不存在返回-1
# print(name.index('b'))  # 找不到就报错

# 6、拼接(按元素个数进行拼接)
# name = 'alex romve'
# print('_'.join(name))

# 7、格式化
# name = 'alex {},{},{}'
# print(name.format(1, 2, 3)) # 按照顺序位置进行填充
# name = 'alex {1},{0},{2}'
# print(name.format(1, 2, 3)) # 按照索引进行填充
# name = 'alex {a},{b},{c}'
# print(name.format(a=1, b=2, c=3)) # 按照关键字进行填充

# 列表
# 定义方式
# lst = list('123')   # 括号内放可迭代对象
# print(lst)
# 排序
# 正序
# lit = [100, 2, 10, 9, 4, 5, 1]
# lit.sort()  # 排序是在原列表中经行，不会再开辟新空间进行存放
# print(lit)
# 倒序
# lit = [100, 2, 10, 9, 4, 5, 1]
# lit.sort(reverse=True)
# print(lit)

# 反转
# lit = [100, 2, 10, 9, 4, 5, 1]
# lit.reverse()   # 方式1
# print(lit[::-1])    # 方式2
# print(lit)

# id相同，可能为引用机制（在列表、元组中内内容相同值时，会创建引用值供其他值位置引用，不会创造多个）
# lit = [1, 1, 1, 2, 2]
# print(id(lit[0]), id(lit[2]))

# 列表的乘法和加法相当于浅赋值，可变数据的改变会引起两边的变化，不可变则不会
# lst = [1, 2, 3, []]
# new_lst = lst*5
# # lst[3].append(4)
# # new_lst[3].pop()
# print(id(new_lst[0]), id(lst[0]))
# # print(new_lst, lst)

# lst = [1, 2, 3, [1]]
# lst1 = [4, 5, 6]
# lst1 = lst1 + lst # 方式1
# lst1.extend(lst)  # 方式二
# lst[-1].append(7)
# print(lst1)

# tuple
# tu = ('12')
# print(type(tu))

# tu = (1+2,)
# print(type(tu))
# print(tu)

# 元组的加和乘与浅拷贝相似，可变便一边，不可变变两边

# dict
# 随机删除
# dic = {'liu': 80, '联想': [1, 2], True: '22', '太阳': 22}
# dic.popitem()   # 随机删除（其实删除最后一个），返回值是被删除的键值对元组形式
# print(dic, dic.popitem())

# 批量添加
# dic = {}
# dic = dict.fromkeys([1,2,3], [23]) # 会创建新的字典来存储,两个参数，键的可迭代对象，值
# print(dic)
# # 尽量不要把值添加为可变数据，一边全变

# set
# 定义
# print(set('132'))   # 迭代添加

# 布尔值
# False
# 0
# ''
# []
# ()
# {}
# set{}
# None
# 1>2

# 数据类型转换
# str <-> list

# print(str('123').split())
# lis = ['123', '456']
# print(''.join(lis))

# dict<->str
# dic = {'A': 1}
# print(str(dic))
# str->dict 要切str

# set<->list
# list(set)
# set(list)

# enumerate 用法
s = '3645345'
# for i in enumerate(s, start=3):  # 两个参数，可迭代对象，索引起始值
#     print(i)
